package swimv2.servlet;

import java.util.Hashtable;

import javax.naming.Context;
import javax.naming.InitialContext;
import javax.naming.NamingException;

import Swimv2.GestioneAbilitaRemote;
import Swimv2.GestioneAccessiRemote;
import Swimv2.GestioneAiutiRemote;
import Swimv2.GestioneAmicizieRemote;

public class GestoreSession {
	
	public static GestioneAccessiRemote gestioneAccessi(){
// Vado a recuperare il GestioneAccessiRemote per poter lavorare con le funzioni presenti in GestioneAccessi.
		try {
			GestioneAccessiRemote r= null;
			Hashtable<String,String> env = new Hashtable<String,String>();
			env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
			env.put(Context.PROVIDER_URL,"localhost:1099");
			InitialContext jndiContext = new InitialContext(env);
			Object ref = jndiContext.lookup("Swimv2/GestioneAccessi/remote");
			r= (GestioneAccessiRemote) ref;
			return r;
			
			} catch (NamingException e) {
				e.printStackTrace();
			}
		return null;
	}
	
	public static GestioneAbilitaRemote gestioneAbilita(){
// Vado a recuperare il GestioneAbilitaRemote per poter lavorare con le funzioni presenti in GestioneAbilita.
		GestioneAbilitaRemote r=null;
		try {
			Hashtable<String,String> env = new Hashtable<String,String>();
			env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
			env.put(Context.PROVIDER_URL,"localhost:1099");
			InitialContext jndiContext = new InitialContext(env);
			Object ref = jndiContext.lookup("Swimv2/GestioneAbilita/remote");
			r = (GestioneAbilitaRemote) ref;
			return r;
		} catch (NamingException e) {
			e.printStackTrace();
		}
		return null;
	}
	
	public static GestioneAiutiRemote gestioneAiuti(){
// Vado a recuperare il GestioneAiutiRemote per poter lavorare con le funzioni presenti in GestioneAiuti.
		GestioneAiutiRemote r= null;
		try {
			Hashtable<String,String> env = new Hashtable<String,String>();
			env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
			env.put(Context.PROVIDER_URL,"localhost:1099");
			InitialContext jndiContext = new InitialContext(env);
			Object ref = jndiContext.lookup("Swimv2/GestioneAiuti/remote");
			r = (GestioneAiutiRemote) ref;
			return r;
			} catch (NamingException e) {
				e.printStackTrace();
			}
		return null;
	}
	
	public static GestioneAmicizieRemote gestioneAmicizie(){
		// Vado a recuperare il GestioneAmicizieRemote per poter lavorare con le funzioni presenti in GestioneAmicizie.
		GestioneAmicizieRemote r= null;
		try {
			Hashtable<String,String> env = new Hashtable<String,String>();
			env.put(Context.INITIAL_CONTEXT_FACTORY, "org.jnp.interfaces.NamingContextFactory");
			env.put(Context.PROVIDER_URL,"localhost:1099");
			InitialContext jndiContext = new InitialContext(env);
			Object ref = jndiContext.lookup("Swimv2/GestioneAmicizie/remote");
			r = (GestioneAmicizieRemote) ref;
			return r;
			} catch (NamingException e) {
				e.printStackTrace();
			}
		return null;
	}

}
